{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 120,
   "id": "dd1fdd8e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['Mon Aug 16 11-09-55.bmp', '1.jpeg', 'Mon Aug 16 11-09-15.bmp', '.ipynb_checkpoints']\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "from PIL import Image\n",
    "from torchvision import transforms\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "file_list = os.listdir('./testPics/')\n",
    "print(file_list)\n",
    "\n",
    "resize = transforms.Resize(224)\n",
    "resizeCrop = transforms.CenterCrop((670,780))# 中心抠图\n",
    "randomRotation = transforms.RandomRotation(180)  # 随机旋转，-180到180度之间随机选\n",
    "randomHorizontalFlip = transforms.RandomHorizontalFlip(p=0.5)  # 随机水平翻转 概率为0.5\n",
    "randomVerticalFlip = transforms.RandomVerticalFlip(p=0.5)  # 随机垂直翻转\n",
    "colorJitter = transforms.ColorJitter(brightness=0.2, contrast=0.1, saturation=0.1, hue=0.1)  # 颜色\n",
    "randomGrayscale = transforms.RandomGrayscale(p=0.025)  # 概率转换成灰度率，3通道就是R=G=B\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "id": "514dfe05",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "img1 = Image.open('./testPics/Mon Aug 16 11-09-15.bmp')\n",
    "# plt.imshow(img1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "id": "d7b19f58",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAASUAAAD8CAYAAAAxIbIkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABWU0lEQVR4nO29fcxtWXkf9nvWPu+9d2YYDNh4OgWSAYQj2W2D8QTbMlBaJw6gqhP3DwKpbOxYGVsyUiylqsGWWqtRJCc1thy1Ih0LZEhdsFtMIJaTGtM6KJIhBkIwGGMGDGGm4xkMhJl77/u+5+y9nv6xvtdea++1P845+9y7f/ee95yzz/p49vr4red51scmZsaKFStWLAXi2AKsWLFihY+VlFasWLEorKS0YsWKRWElpRUrViwKKymtWLFiUVhJacWKFYvC3kiJiF5FRJ8looeJ6E37ymfFihW3Fmgf65SIqALwJwD+GoBHAPwBgNcz8x/NntmKFStuKexLU3opgIeZ+QvMvAXwbgAP7CmvFStW3ELY7Cnd5wD4svf9EQDfnQtMROuy8hMECSClaJP+Q5SJyH5Ady2ntAfByUWTcpC4K5aFP2fmZ6d+2Bcp9YKIHgTwoL0gEDbSFcuCTxgEbDbA1WuEulY/MANNo4jo2lXClTNVmU0jwQwIQUECZBlLoq4Zux1Q14pohFDpn50BQlQQQoXf7RpcXEiwVPlw7aVISsR1dDsRNPhS7qd9kdKjAJ7nfX+uvmbBzA8BeAhYNaVThGRFIIZEiDSZVMDZRkBKxnYrUdeGZBhEABFBCAIzoa4VITWNSofZpaNeApuNABFhs9ng7KzCbneJS02EWU1sxUljX6T0BwBeRETPhyKj1wH4W3vKa8UhEBGAbICLc7ZEYsikZuDGrrGaE6B+q3fqM4MBbvRntFQbZpVGUwOXlxKAstEEbSEEoWl4VahPGQWVtxdSYuaaiN4I4P8GUAF4OzN/eh95rTgeWPt0mLXpJKF8PgmiGTTJy23CagA0zapQ3w7Yy5KAwUIQ8epTOkFkmo44Uj2uPqUTgGkbNT7GzPengqwruleMB2EdSFbMjqPNvq24BbCqJSv2gJWUVsyOlatWTMFKSivGI2O6raR0+4EIdoKCyFveQQRmhjSNgtFr8q8+pRUrVkyGmWE1a8cIwGYjcO2ODaoNDXI/rqS0YsWKeUBAVQGbjdoLxMxoGgkph+nOq/m2YsWKSQg2EJGblG1qRl03dnFtKTWdJilF+7Ba1/zrfWnk4vf9lssjtdm0D32yUIcMOaxT9SsOBN9sUyv3OWyuHK0h62mbyyElT1Bzg8wJ+TniJO04y3FSUV8uWXWXIMIgj9iRV+DQK4aXdkmSvBLSikNCq0bs9yOvDXIctgfLISUNob1cRGrbgm+OdikmreveniyzaJ0yBeWH8ZFyznHiN9b5GXLMEWUOVhGKSIcjIhziLFxnwFYcEpwgo7FYFCnZqUT9RU0zuu7FQP6mC1UjcyaPnb7U31PJBiTQVdgZTcbMIrQIL9K0fFICwulVPw+mMi1oJaQVp4xlkZLpiIIgSODOu+9GVZ1BMoPJowj2WMDAXGMG227OYCkhZaNnAMyRFwQppT3rBwRAJE4M83w5Zo+g0rYYzKyvsSIL6cUBgYxdbeKbn8mxp7um753CsCmshLPiVseySAmw/p1rd9yJv/Ld34O/eN8LIUFgIphdu2QCMeujMMyRGN5nAE3TYLvbYrfdYrfbQcoGIAFmRr3bYbfboWkadTiGOWfDgAGpSY0Z6l3/U4RWo65ryLoBs0RT12iaRhEVkQrfOPJisOZNTWbsvktZY7fdYrvdQkoJECClBEsX1siEQItqUxR7ZWJLYgGbrlesKMWiSAlwZsyVq9fwHf/pX8Zfeen3hlqStrVI23pGgwl8PVobaViRR9M0ljCIFKUFJAJFOrEgbDUiOHIgda2Rioik1sTqXY2mrjUpaBJrFLFIljo+7PoN9gi0ljUuLs5xeX6BulHHKdZNo9JuGiWbZCWvVOs+GtbpQ12v6xr1bofziwucn59jt5NomgYX+vv28hKykU6lMzxHjuBbpjLgCJalKVw9cEgdn1yldZJfyu6UCIg1nhzIzV7kMNiJl0g7MaFRmr5NIvJh+sViw1B4bdJEDdJF0xfXX+hom2dX+cNVdSqdOLioEDQtgrII5KnMvvm+G4Yy186uXsOVa9f0DTGEX9uUXvdJ5I5aJdIkYtMnG6Y9TZCrAReE9MHTYWNTtSm9qQfSh1fHREcgkH+uhyEpgiUWq2mxMT3Vi5kVQTHba1Knz5Kxq3eo6xrnFxe4cf0mmpogJePi/ALXr1/HxcUFWDYegThCZG60VucOSNrVNXa7Hba7HS4vLnDjxnVsd1uISgAMNI0i5O1upzU6abU/q61598lwJrC7KMHcQHKjCVyCAa2JNp626FWHpwG2jt1hnWamOzbM9ohLJqepRpUUkmNuOUaOBdj7iaOgGd9lLrmu6yWhqZTS9D2W5GV9sr25q0krbuCcswyIBmDRTZijSYmIngfgnQDuUdnhIWb+ZSL6OQB/B8BXdNCfYebfLkrU86sYZ7fx+gpttpH1GWXkAgCtEZnvLrRp3Rz4dpKieA2eLJmZVyAkAHWSnSFEo8XZRhmd2xp/lzDak7S/C63RqU4uXY/UhEVGQ9HysDRmG0NKhpRkfWd1XYO9aUzScqs9SVoblE7rJCJPw5S4vLzA+flN1M0Om6oCQGhkA9lINFJpOyZ931z1i9354FyFSFZaZNM0SsuUEnXTYLvd4uL8AtvtVstBeiZWnc/NWvOszRm6uk4BBvPWEpOv5TZSom5qNDt9X7JGUzeW8GHC6+9Wg9aDAHv1CbAehAwBq2tcq/JoGontdotdrQhbaZtO85WsNV2jQljN2QwWfkNEGShxIJnn9wwSNM5bcpnxxoUnvQLSuhlSgvjVG7CMYWaGhNOKjN8UTZBtElM0pRrA32PmjxPR3QA+RkQf0L/9EjP/wqDUTDlBCyyEPWzedHJLVAdAH5F0hWfuPrI1HuENIVjNiggsFAMqfdCRM6BIjFgtlyAGREUQm8pqTuJM2FFS/b0SaZCky1l1dtee9B4lQZ7NoQioaWoQAVVVKRLUhOaPnKTXQTBkcsZR5au1TQCShJKBneYjG01SWhPz/XC+v8y+e+QAWzqGZPx7U6QvtVbXSIm6bmzZq/Lw03RmuE9KtotquSypG/KSKu3tdovLS+UjVINDg7pW99V4aTI736E0WpzJgAmtJ2qYkcrr1gzVFuIiNxqnE1jng52njTaQjdKY651yATR6Yqiuld9UDRpqgGpk48nOWmtWWrnkBixrADWa+hJf/+pXcHl5AWPCkSjrvqNJiZkfA/CY/vwUEX0G6tFK49KD6mBEABNBCAEi4QhJ+5X6NKW54Xdk854jqJCYylVvbXojmMDz4qt3RzJCt75Kl40AodI6IUvlN2JDAprpReD7calpmtBkYYZN6XVyQkWA2AhNWIYfzXSDqQ13t4QqUTihJknWBI90WV3XhuyUBigBksm8WqQkjE7dtsSM/aR8KAQ3BqiHGYBU+7LhNDc7bcqTT9e1r1VZE1774RpNqorkobRY1tdAnjbnEUykoQuxCdqV0tTbrgsm0r5X/6K7badVw5Nd2iZhNd+msde50Vo3Q5G5JnSpRzJ331D3KmvIZgfmHb7y+GP433/1bfjcn3zWDpZoWhWSxCw+JSK6D8B3AvgIgO8D8EYi+mEAH4XSpr5enph+EwIiWEl5WE1JZdUmpL6wgK8plclq4gprFpL7bNLUqRmzzoQzph5YmbamfIgJAsI2SJJO23LtnjXJGM2InTxEVqtQGhsBJDVvsb073zQOl01Emqb5R6wemQSAmJ3fww9uNBKPNMCVRwz29lukxAIAnEmmkifvEU+ePeFp4qqpKV+TGwQ0g1WmE3v3E9SPaqfakNVloduuHp0M9RttTD1EOuSNoLy075IEud80oVTVptUWuWqrIaQHd3X/QqcpQFR5g71wmpn1lxoWYyt/LKFfB0ZLY5YgKQGu8fU/fwL/8p+/D39Kn0PN0g60XWabwWRSIqKnAXgPgJ9i5ieJ6K0A/r6+q78P4C0A/nYiXvjcNyj7kxhqnVIlUJ1t1IjPaiSQRBDsKjiRZrHcsQklTAP00zN/2XQMzwQJEwtbbJhAkSwpwvVHY0KoaSTToEgy8s0rN0QRedpSSm6bP1z44La8XGxaTn/1uBGuEPS74T7va9i/KRbXBrIakCePmU015EYstSRk781qgp4cFNS3IYrwuzaU0+MgcxgeytRmIPDf2bT9+ySTtg9DBOabgK/z+VGFfkKDaTNuAKSgMMkOJop/jZbE0Bq0F1MIkR70hQuDoMycPI0UULqVgKgkBBPuuHYNZ1UFSNVEzN01put2sNMkUiKiMyhC+jVm/k0AYObHvd9/BcBvpeK2nvsWNFJVwZV2qgY0S35RJmXycxl2P4nR3X1273HOcS427ECtrs8sLDUdncYTS+Yc5NxuXy6UNVGAiBk8ovJ1JL+d+WySkpd8d5WLF6XXZgLOCmzagzKH3DerNSIxkPgxTdtrNRenIZHt79T6PfhmO3uoA+VlMIiJ3wwy7YGIkmmSvaL+Uzosu7R9uf0BzUlO7n68NGMQ1KDOmkSJREjCcNvFutqdwZTZNwLwNgCfYeZf9K7fq/1NAPCDAD41Kn0YlRPF3NLqABQXcy6vbgIpMd9SyD0ppuVELwgzFJ3RCxpGnI67lZhoyPperBVoMgnSyTFKgSSlwgbF7UVyjDIhg4EDTNGg2b7uz4A68ysckPrcCm62OCQko3eFYcN39zmTZkc5+KmbiZBk3+spyima0vcB+CEAf0hEn9DXfgbA64noxVqaLwL48VGpE6ESyidC2mSz0+CJu0prEWl7OJ1dv5bSFS6FFCkl48dm18B8DoGu2Ui7KJW5s7xScWJ0PfKrpEymlltxnY3Ie4hvMjbVW9rSyIHS1/a6NO/BaTLstAlpbdg6uAdiyuzbv0a6t5etSeqBGSUECRjfCHl8XTQSF2tK3ZUztgGUYh+a0j6QIpwUIeXCx59TKNUux4YZk/cQmLJIfTbvKTlTZSe8yZ5cHKthDbz1eduXMe/gkRK7WTzEWnQ3FrOiOwYRQVSV+YK2M7K/YodoSun43deHIptKxl6PNYsloIuYTKvjTDiDYHp9oFlUKl+c1yGRI+GUCdaKx8ax7Q3BPYOicfaXFKX1OZGJ2x8nRNocMyvfzMvtvxyO5ZGSmlvE1atXceedd2pNCXYrrmDoYaFg5BRmPqQfpap3IGqXqQE9oxddUxFbKcE965rC60dA0kyAv57JvQfTZ/otXrkNuPVSJi0VEOBoFiouswBRcSTHm1SYPhhxE/2orKWZdDjQGFTSLlGTVveEhQDZ6XtTwCb5rvYQ1kGHkLCzijqCsz6i5IIC7s7bDEdq90ED2dQwU2/2LgqfCLAsUvLuWwiBzWaj1mmwq+ic+ZZD6UhQ6lOyokZmS9xgiKi7g7XyMGp+bhQtSqozjzG+ERuPXYcKwowp3544c/lwijILE2zZGIP9LhxpRLCH2Njrdv1dUgTyyAveQov54Pce+57LpjR7jr+yM3D0e8SxWSyKlPQ+VrUGxI4uehGZ+ayvFuqqGtO0pbgjpggpOQNCpcZJ20Hc1XCLUpzYuVLmV5KUBqY3Jw7pdxuTV7IMe+qhJMwpwGweZ2Cwwr8oUnLrVwi0Ebhy5WyapjRokCzXlGJCShEIwbPIeiBE29dwbFKK4/gmSR8xTZnBysVPpTe1jErzHUvAcZkPJhx/ydeJoa5r7HZ1SEgn5+iOKkAIoZbTCwLJkaSUcXQPbXx9mlIqrtnHVwLndMxPAQ9Fajp2SCeO93jFpHRsTWmsxjY1v6FhTVn55VmaltUyBt+iv5x1YvkM0XK8sLvdDrtdDd+96C+a7cJySAkIHI1Eap2S0EtA1XlKPscUEE3CPzNkNiapARUzTfDWm47xJaUa7VAnfE57y6UVX2HrF1G/2ne0O1xpHjk5h8RPhZtKTimNsut6qUyxxltqurVPPejOy36GqUczoxm+i8A7Na+mRkpgyzrE7hBF67PSt2PPre9IbzGkRB7hCAI2QqASlb6mZt3c/rS0ptRqSGZsp3yYpCw9DaikgZLbgZVJo51WKl+/083ZiS24LaMfJOUX6UOpRpYz86aYmWPhazKl5mdq8MiV15hyhHWRt9HWqr02hfBdkOsxmTXWWRSXKrt3AqHZ1UDduD7AToa6J6nFkBIQF5Yu9AFtrVXR1O5xJVrHEpyM4xpxO/6cssztw5kq4xit0qBLE8ppS6V5l7xP0eBPAVJKddZUtCSiBIsiJQABvQtbed4aGRuo5BbN2FAQMqOhHAq+ltSlLeXiDsmnda0g/BBynNtMy4VPdfKpZpzv/xkja5dMXTJ2acKniEY2+owlJLXxLiyPlDQIpM+znp8culTxY2hKXYR0LPSZlUvBWNn88DEJpYip1HzzZcrlGx/s1pXHqULqh2YYWDfKya1TgvdEXM8ZRNAV3bKW49jhHQ8dd8Y1iv2NbqWaW/K31FRHyhomXwPtT7vMnxbbzJG25ImW1KpSopOfKlm5jb/C/iLK6tDPJ17gmNRY9PaPIRMYqbJqHYWc2Cdnw2QdSi4uEZmZCfe+ALB+zmLChdlLTsshJa/DMMOelAcY55wqcG98a/1tLysdPxqlw7XTizdcpoJ2dey4E0z1JcX5B9F7GvkYpO47Ts5sSXF9je31mMCkXxbBDIUbpyj41f/bs00lFDPcn2VmHL3JFLWO180q+QRO3qAZJuyIIW4bXeZZbkd98m7Y5OOFmkhIc2tpUtttBLeiGwDqArfkckgpQtBxYRqDO0nRVi9nCGlA+sNlc59z7cwYnkNJZg7/yFFByCwabQ+PKeOcMp/dNWq1DZsWdel8/XDyGE0M2lnbljeVk/SUKd/8K112MBiF634OAqOpwZSbTPZIRj93LoqUgjGSKNCW3LqLduhjIkcgVBDG/33fjvZ9EVxSU5pJ8+rz/fnX9nl/OTOsfZ2zg1QqblbLPjEYhcFVvHqXMlzSUNpjF0VKgBnx/I6qrhKgD5oP1cHFwvN5DDEZl+pQLsbMdZPqvKn3Q5FuiXaTO8DO//1WISQDOzlgPkvWD57wBujCxZhzPDjgiwCegnqASs3M9xPRswD8OoD7oE6ffO3QJ5q4hkbB9aWipSkN7JiHapxjOllXWkM1pb4OWzLLlbt2aPQSy4Icz4eAKgd2A5M/tzGgGOZaDfdfMPOLmfl+/f1NAD7IzC8C8EH9vRvRTZhnvimtyfcX9K9JzU25lqB71HVOVYJ7TKAwTi6G2zwcaHs9K8STNzHkxeErlZw3s+O/+srCvNvhoStf1u7jRNpjNIM+beNQWmXOfIvLFPD8n76rM3rlJM6VW9cSgkBrLCgPyrxcHXbLmJHcxicwBNj+80Ic3Xx7AMAr9ed3APg9AD9dHJsJQh92BZiCM/NsEl5RWqSmclONtnSVbloLiLaOEKkn0LTSzJtt6el76Mfdqi9dT3zIxg9yR3KEzmkpqdnBZDhEcvFwjTCV31Ck6nDMIGTus8Tc8uPEhGQHndj9zfZPG97ShbGy+/egBnG06r3t61R9K0jDE9MEHzZ9xFpDVqREpGY2pbbdmiihvjTnICUG8Duknufzv7F6dNI97J5o8mcA7okjUeK5b1PhN7B9ro5tuzdDGYZ2Oj+0sctT0k/tzFmymZDu0I2jc+d9bDPOn0krdqeR/WNRorWmBo9Ewp1y+qG6Sm64azCt4Y3BHKT0MmZ+lIi+FcAHiOiPI+GY2g8gA8fPfZsJJSPfvtDfaDLxou9zOEGHONenoGtl8iEGiClm+lh0aeAl6bIxfQvzir/Hx6Ao061fVjdxtH9Iqc254ew2nZSY+VH9/gQRvRfASwE8Tvr5b0R0L4AnpuZTgmMRUtesUFH8zPUpWxGy/qsDOI379pH5+R5L05naTnzi9eupiCQTmlJXHvH3QOvxTbAeYjpkeTPL0QPGJEc3Ed1FRHebzwB+AOrhk+8H8AYd7A0A3jcq/YJrY7WTVLrGtg4df54DsCt+0GD2V/mxozpb8ZHjMgfnC3H/ks7ZPSg7pRMBKrDyd/gv50zt8Cr3FAAXxU2/OP7OnJApn3O/vKEvy7znyq3EZNqj0hpASlMmw+NO1ZTuAfBeXSgbAP8HM/9LIvoDAL9BRD8G4EsAXjs2A7fsHwD0AkqmpCPXxhloMhDC7QmuA3oLNu1b1gXtJLYNKAyR2k6ifyiWtRiR49KX0IfgzA8RNNUWZd1n2gwn7Fz5+OXZHTLh9o8IaahEXlyvffqfRO4+KQyb/BkMgrAqUJ82njp5aZpmVG53mb2DRHpAI0DKJmrvMP7w3pQnkRIzfwHAX05c/yqA75+StoGyl1kfL2sIKewg8YyIfy2ZXiofJDodu8buKck5SXVYcqF72kNXg5oDThJ3byliGdJsSxp5jpTMb/GonwvbKyg75nWdIhM/JbaNn88yCy8uBZe9ex1ph7g6YwDCNiRTVvEDKonIdvb4elzGqepLmYNxH+uV2c8T4XlKtlsUNvPFreg+VbTNyPFxgfEO3FsVXeXZ2l3fESZMc7pPqS+PaeknfEe591ijb5HRYXxJBlJKtcl4hDK6ktLMcI1hJZUxSGq4CXM451weonkdy8meQ8u81bzUS0hEARnF7+PN5vFQpBTXY1nclZQGoqtix9rwS9OUjt1ZW/lT+1weU9bH0JJy8eeos5BoqGW6TX0fZ6sOh5QMlnohZcK/2YXFk5I584ahp3ED63n+3LqQc2D7cf3tThyPFDadHim6ZtRSMkbOi2zymR9Yl6n9mdxn6++yanhai+mC3x2ot4w7fvQmIPxJqpa/zwvHwfcwMdNpAilbfqtYwMCoimQv97fl6thfqmD/DiSc2H/o/9o7J2jl0jVV0NVsurpaQLBLAlr5FfD24klJgW1n2If+QNmUTXH7ZFQy1auHh0TQrsP3u0d9Qw5tUsh29JANMp2Go/AEtZbVG+I6Z4p60tTpiojQnSiFNapGJfWRXVmoGqJW3eTJKA7gO3Y7gsIUY761ANM06ZIFmF2EZIogiO4TuS6nkhJnZtsecjLY7/oPM9s1Ro15Qq70Aq2O7m60Kj6p4rv3OS2alt+jqLbStar5JpGHFyB13eSdaLQmnJ2+7ZoQG1AuMSENLdNYjJxZZmZ8hujUUdf28nTPSwuIYMjMbsKn07dswkpF6fC5fFuOb5tSt2yt68gM0yliNUTIqsSZGXXTBKdpDqnq25aUlo5UY8kR0Fx5pd6dOZHW/G4XHMJZ7E/hG+c1afMtN83fV3epe+DEfbQHylE3oNunhKwbMEs3uBFCrakDKyktGGFDMScUzNspumZrfHBsFtwmSGohHdpFVxpds4TZeNRNPCXv5rPSIlUbKrmXARaXl5YavBrZQB5r79uKQ2JEDZekmmnEqU60FF7qOmNoH+jq8DZMwrFbKk9KE0qVeAkB5dK2qfVoScCIBb3Gt8kqbl3XoxenLoaUGAB5s2yNWXw1Nj3m7H6tmL27yixWl6cgPypJe/SFkc8p2pEshTVcLLN2IJtOYONoPydp/XuuVedjzKD4/CL/PcaUNpMrs9T11GFsZBzJ0SSHcUEZt4sihnYeMYzZk/s9FbfPr6XyVWeSOV8pg+wMrjvCtrSOpG4sgtWLGJCXWwgpAQmwNuFYZ9G3cmIxpAREEwWZ6fQuJO3oVLiEBzQZLkNIuQYaaBae07gEraDUvpZqKLnOOcUH4oiPgrcSzaRksWLKnBmDIXmXxO+7ljZr4/YWaZjeuyOkYeda5fLv+55Kxz3fLv5NvRsznb04fTCHEtq7lqx8StItyWBjDxZgUaS0LyQJZ0j8iOxSo6QJlwvjp9WWRdXqHOco+fH36ZQ1GEIEQ30q+8QQX1Hfb715wdubpxIrks0/y3IfdTpXmn5s1VeAuvY25KZG1w7cFqRUgjkq2z/UbJBDWg8zo7SaE/E+x+cX7WPF+tjyO0QZBnk4+zwbzji5uxzdIyXRZptLa/r9G1VJ1alkqdYpqedR2vsoXaOxkpJFv7nVtQo3SClhRprrmZz3ointG0O0wa7wx0DcGQ9KTMoO7w2n+vK8mpIxH+dIy6ZJoZ9INo0iJXj+vQGLxpZHSuS9UpesDzFq4J6m6JNzHuk1HMmQ2W0f+fC51HyHcc6PNRRpkxA9HsVh9zsnoVjyHRUZNm5ycV8q1Y5LRT6TgnvPmfgtMunQktrho4Wg0QxN3M+5RNu2YhSYrMg28TZsm1eOM/vMN+Or8oXuwWhSIqK/BPVsN4MXAPgfADwDwN8B8BV9/WeY+bf7E3TeeX8kUY8xooCYWAYcbKO0Pw/xd5SN8AExetsd1I/kLehhMJnO5xoicwOvZWgp3czXGFJKk0gmLNxiSNswvScRl2qDY9DSKFNJ+mHI24PndXI12oczWXb7RzQtb7WNVrESODInc47skvOgumYF2w5+pIkyDgcGuNHtw9pynnDQ3wnxg9VK/WOdExPI1BHCcm+Y0Zi6kIwKBFnXID0bJ+G6htDpdc2RjiYlZv4sgBcDABFVAB4F8F4APwrgl5j5F8amDaipXdUgAOi9b/7m3P6uS/kSLcTgUcROXXAoIEXvBflOIYGslub7vMZohqm8Ckk0OyuayMrKl1ix6YrS1YBZDNilgbW3j5TJ2YW+sENNrn2YkGPTLInlr6QSujrU7GN6aUZpN5jLfPt+AJ9n5i9NKliPbYLjNNn7fdCOpsMh7vBTpZxcjvElbyQvnU2cS66cFmGrMxN+DDlPKbe5TNR5ncinAO8MMW1KyAllOdcTcl8H4F3e9zcS0SeJ6O1E9MzhyTFkXUOancbRa4hZtm/4HS6QcUFOXYNUWYbluj9ndIqQUlmlyrMUhgT6XjCvCciVX0qWlpwZWU8WpO9Hzzozs7J0RvbTyaRERFcA/NcA/k996a0AXghl2j0G4C2ZeA8S0UeJ6KPqgv8icCNRNzJR+dgrJ/U1tlyc1rXCcF0o7WTt13B5/evZjmZuzK8DLnghE3YE+shzcBmNkCc3EPll1kk0ZPyk4b8wk4xMzOlyHYBhbbyrcJy5LIQ6S9zcszRyjsAc5turAXycmR8HAPMOAET0KwB+KxWJux5GyQxJAOttxZ5bKeO0HI+U3d83NV8SNidiV2MtmaKOr0/VbPpGaGPuERIjWNvlk0mjXHHMmWz+9T6fWG8e+q8o6DV5bug2cTvrOdM6BNyKa9/8N4OB/e4Rqh7Di/u/9dFG8mZCWymMctm+bdUI/PKQktHUdaFEbcxBSq+HZ7qRfgil/vqDUM+BK4e5t6Cc/GFtHkYa6oRUUrRJo0VGFFZi/FuqsZoZojjNpOpfIK8yjWRRS83NusV+HStTHL8/i8GIydm8UiZS/L3YqQztlA2WaLTjSj/CRPTJRwG7uI4Qb82N51CmitZF8uYykSnvhFXACMqR9eLJsZhESqQeQPnXAPy4d/kfEdGLoaT/YvRbEdTIauzSJbq1uxF04GMJH7WdoVP9rZk6M4+9wMpYkk+mS8Mt0YRPEYHviFTb2W63o7X4qc99uwHgm6NrPzQlTS8hZz+fCMJGh6N2YKWll/nDciahT0y80E50rM7dp/GUmum3GggEKSUuLy+PQ0r7hNGWTgEps4voiJpSbmorFzzlqG9pSliclhSW9+GFKyGmVPhbjZQECXWoBwFgRlM3uLi4GJ3eYkkJZmZAr5b0XMtAeuliMfoaRc7ZGmbLwbXQ9sYwY1/fUuC7ycg4J1HnnPRpR3N3Gql0+vKdEmcfHbzTgR6UiZ69i4qJtNe512+0B7hmGa2XK5wUKKmTbNsj449T1k0tG1xeXJy+pkSMaKW8WoDIUm01ZvPXHoY0rXJzoxjgzTi11HDzSB43Hy4At52EnJaUyy9V4cbU6pOp/OamNf6swz1Ksm+WMk6z9B5SJElEwZNgYmLqS79Lxq54Am7216UFJNufkSmjJfnX4qfapCYW2FNPh5Cwb353PT2nDzkNNL4m9TodIgkSjKbe4saNG+1yLdQl5lo8OT86zZ/9mnVpQsoF3qsoKxI4tPmTyo0yr2T8jsEmB7b+1HBd1r5dGqM1UALAEswS2+0W292RHN37hJkip1J6nYi5K3uIFnGqWNq9nbI8sabHzG5UHmmSHQqqhzq3ipx4lPVCSYkAQaAJqudQpPw5xWteIo2qi+CS/hrv7ykiLq9TmaA4FErbVZKYvOv7JKSxbR9wCh0JgkAFYNpZ6csjJfJ9M37BsPe+/w7sN5B5GkG8cCjIrdBMHdrZS8JT6MS1jns3QgP+SZqxw9f366Qn/XLXh8Of5PDfw7yCGIkVzP1pl8oSo9/BvTcNx1vAODaPsTKaUjNlXde1eppJXtROLIqUCK7xCiJUgmAeSS0ACEgM3X/fN5OQmlY2zsF4X5CbYeufrTIyqw4Nrya0shv27YyMrSvpgOnYZeH1okjrv9PRzHclu3Hep2bl2mSVLnKOCCJNAoYEy0BI7FBK5t0Nti/msrbFnLvPSMKRM4VuciHtME+1QUb3YOraqT8Z4+npdjDSA0m5tGqWirRPaXeJXb0NF1VC142AmqvqSHwxpBQ0RWZFSiRAtoABoWe7ShXDXOV1he02w/T6I0KvOk1a5vYvrlPa9GluM7WQkAC9s9sRk531Ye9oMdM/ElpJfOupfmdvk3xCUu/tssuZJyktSUvl1clwxGWVbx/tMOXmfcm12IXAUbdODaBdaeTyUk75yFxrORG8gaoHzKoFCRBIAE2zQ9PULjM/bEF6y519E+R69em6W04GxmRWnzNHfkzOoz+NLn9L6n0OmfrSKiUVw46H8PlMDTcv3FIZZkbTKI1pLBajKVnNXpNQS2vBkPF/HiQ7woTTLPs2lB4DaoYz/J4ybf33sfkUjeIdefTJM0a+Ur9hcV6RuTa1jkmn2ScjeWrNwYnJUxxkw6ibGk0zvrcuhpRiEBGEMHfLwVqQQxGTX6lOzZ2GovN2Doyuzj5Lx6L27FH3zvRyYhoSN0YsQ5dpX3KNE+1lGpz93080VExgc4M8VlInBEjIskMqklg0KZlHCRsbmNz62tny8N+7wqjP0EZxfvYnRNsnZdOx8VImUsox05HNlLAZzNHp43gxCeQ6+xhzaqh8c5BkylcTeWyiSY5W4ECebJASjfWYmpKZhZXq3uu6Bkse3Q4XQ0qBCQGCgIAg9SwTWylMIMiktlQy4sVh4w5QZq74RORMn3YDNQ5kP197K0GewnuaSDcKndeFIU2OfR3TlOeULQtAWvOciqkkWZLOGD9OREstjB03sgTpAgThTJ1NIfqysEqrE0Jgt91B3go+JQDR6GEIw9v8qEeDXKeLR75kFhkTJfV7q/DZEZJrBO00krfTgTITiYvTNFPDRXl7afaZcfG1bJp7GKH7SGNopxu6Bq1PWwraKmBnMlPoIyQTj01CRXLmTb0+H1yq/HIyJstaAiBXnlPOUgIKZ99IPQDgCSL6lHftWUT0ASL6nH5/pr5ORPSPiehhUg8PeMkYwWKThsirJAp/P6T9PDf2JXtcPvlXWdgl4FhylRGSvTqfFmheCXJplYNnvnXJWnp9mKAMZvOgAMbFxfmkFd2l+vivAnhVdO1NAD7IzC8C8EH9HVBndr9Ivx6EepDAIBCRWrIuBIj0+gciCCK7dmbpMI1pyZ1dySggRPpFnmlZbmIOIcRhr2OgT56u613xS/NBIp2knOgvu5R8s5QR1LPezPv1Gzf2fxwuM3+IiO6LLj8A4JX68zsA/B6An9bX38lKf/swET2DwnO7O5EzJaC3Oqiv4gSIiXyN+rA5l5IHPN9HojPFaQ0hpX0gTnffD00YEjYup1y5sfe3Lw/PY1Egh7XdgnAxEfnH8nSnVw4iATI+JGac3zyHbI7jU7rHI5o/A3CP/vwcAF/2wj2irxWRklndQEIAgtTqdTPdSABIqIKdubs7DcwQHyXbjr/1ZEyHTaF8/VJZHio51yi6GuC+iKkUU4guJdfcxGnqO15tnS+j1Gr1/um3nBaU2s+WDufSjGXKTWR0lYHqAun2Et8OMYMahtBbSM5v3AA3jTojDRi8RHsWRzczM8WbkHpARA9CmXcuHfJIifQfWzBq2b0hjo50R+2kNpXgd9IYzJmp2xk6ar/MQ/IYrkH0EVLWbJhw70PNss5ONMPI36d55Tp1O8++pSL9JKszhK9udxGKJYCMzCWnmrbkUYHT14NMNDFJ9dpdJhzdA6plyhzv40R0LwDo9yf09UcBPM8L91x9LQAzP8TM9zPz/fFvVlOB/75/LN8kHI7+hnjadz2U2KbmtVwMJ8HSVONXKhAJPSvOjO12Byn3PPuWwfsBvEF/fgOA93nXf5gUvgfAN0r9Sd6SJOdsTQc7Gko1iCWgV8uB69Q5x2hX/KGypPJYOrrKZ1Ggfln35uuD2kAPUqR0ub3c/943InoXlFP7W4joEQD/I4CfB/AbRPRjAL4E4LU6+G8DeA2AhwHcBPCjY4XL+UCY0gbWoQ4XWzox+Zpmvz+p34dk1P/pcs3r7zkkFl/n9kPe/N6XzGbmzbhYdhOOwgXKZ99en/np+xNhGcBPjpLGmNCE/BS0JaTwt0OfdrjUxmlAkS/C0jj5YZz/rK/TzUVMfVhieS6dkCyOQEhA24PWNM2kQ/0Ws6KbAbCEfnwEodpstHMOILvfTDvugJYDzi/4+JD13OxWbgl+12rfYnU481NOY4mP9AncagOhNunAHmRE3LXOiG1R5jSlwflP7ACp+ihNc8im2lJZ5nb6E1Gr/eYDh2nnCIZAwUr+XF3mJmqmbCFScQlgAZBALSUaMCSpOWD1PKJyLIaUYpD/KTe1EMeh9G70vjhxjv1hS37L59ueZUm3UYrVmgEgf49CV96Fa2Zy10rjTglbqqHsc93SXMRkhteiMjJWQURMqXz65/v65RtL3O5EUYaERCMbdLX/vlpa7iFvMP4OuNWqR5iRu/VxPNNksWbQioFwp53JRqKpm/37lI4LT1OiSHtYMQuO6TOZM6+V5I4EIv3QWEIjpTq65FbwKXXBbC+ZcOjjigx8f9I+O/UUc3DFCYAIxIBsGr3v7RbSlIj1C4qM1CZchmB9bDfnHxzQUhn1V+cm92abVAR79VZmvO7O77bVqCd0+KU1b14lxDRE7S/d7jPFlJifTAlT3A99kyukHZRkHZWcyLE9STQZehsGE9Spkxyc9BOG66mORZGSlZ8BQULvRyNbqMrH337KQ3+antFnNAOTsq67dL0U5pKt00LHcOraRGcxUb+hq7SjUBLWDvLMaoxRssyBXgfyRDI06NpG1KdNFudDA2g/ocmm0hQ2XLuegmtESD09Z3K9ketPktFpvvUNe4siJUAXHgGiqryC1O/2TgpnbKK9Q0V5j8XEuFN8Zbkp4k79qHfWMTe7NE6eUkyZHRqa75ClB1OWSfjhh+hsbiAty9v/KU2QiYAzQaXIkE0Dlo0lwjE66mJIKSgmUeFsc9YyJZZiYB3TF7L6YUIsfkHjgbFv32AarmfudjvUTf7puCVYDCn5EEQ4u7JpFe40a3wepCr9kNtbSk2EPk3p1NDV2ebqiMcmttTaoyFxUybeYdqmsQ/1zFvPOqU+LIaUwsdYE6qqstf31VTsAkvtDDSO3r7zm2evaE6fmzMWhLZPaajMQ8+w3jdKB4O5V34fcvtSamHrmNxbg/ne69ClXzc1GilVf844uvvWQi+GlCwkQMw4O7sCwDN/99Q23FaUeSvPLfgskAHtujsEGQzPY5xMQ2ew9rFyfCz2sQJ6QO5F2436ZNy3nIIIspEgEOptjXpbuxl0Dn1LJdbOYkjJlBvrL1fOzvR1z680lJgSpJAc+Tg8DMtFHz8DltJWsulm9ubN2TlTo+eYGai4SaVGd3Roff695fI5BClNdYqP7exk/pbUmfnTU445eVLtiAcOLCWao5RSPzhA4sZTT+H8xgXA4QNkQ+9wNxZDSgGI7IMDfOxPkWb79IXjOApXh+2K8Th2m5FSotL95vz8AttDHF1yKLg9pO5c5EPlmzqH+VBIjXorVuQQO7SP3V6EcbKzOrbEPMlkbO9d1IZczUedK2f2WfyHJMIAtBLSiuFYSlthBqRkSJZomhqNbCZZNb2kROkHUf7PRPTHpB42+V4ieoa+fh8RnRPRJ/TrnwwRxpUxQYhKmW8Fy9Lz4N4XRz6QsSNPm8wO5+9oxZ8Uuy1Hlzxjibwrjv8EET/9ow0aB0Lq/nwt3p8RzbXVPq17nzRGJJQbhCVosPfKocR8+1UA/wuAd3rXPgDgzcxcE9E/BPBmqGe+AcDnmfnFQwXx98oQgEqoRykNubOWDyqxXsI61E3lz3wo2NS4QPd09RzrlPoa7lhnf1/4krS6SGfuqe4xExl9cfp+H0yp3tSsqf/UgX3+967fcvlPbu/MECTQNFI7vtNhmQBJADqeVdmrKTHzhwB8Lbr2O8xslm1+GOqJJbPDktIytNT9gRFoA8fGFI1xRT+KS1VP+BgiMq988GPVmbY2SJlwPOFJJsA8PqW/DeBfeN+fT0T/loj+FRG9PBeJiB4koo8S0UdLM5pkyS0YqeN7l0BOx0JsntxK5GiWBKTuMX4JTUZVVQWPUl8kSG3mlo074G1sC540+0ZEPwugBvBr+tJjAP4CM3+ViL4LwD8jou9g5ifjuMz8EICHdDq3bw/UmGIy3Uq41UhoKAIzkZxWtfSJEHVCgDLdpBy3Et1gtKZERD8C4L8C8N/qJ5iAmS+Z+av688cAfB7At41LX3/w1KMpzrMVp4VbUUuyoLQ22PL1ea19SeZ9C0T2JVlOlnGUpkRErwLw3wP4z5n5pnf92QC+xswNEb0AwIsAfKEsUeg9YOozCX1uEqtnIbjPEilHU2njLS2wzmMsspHMbwz/EUdB3B5H8L5HxFIn9/j8u+JR9D7cID8GSc3l5PbRt5rdpdVOc8xj6fcJ9/gudRwue4YPU1TLbLt6Fr2kROkHUb4ZwFUAH9CF82Fm/gkArwDwPxHRDoo9foKZv5ZMuJWPJ6gwMwyISEnPppEAJQ6qGoO4EcSLKFvhAaSf2+tB6Y3ls2Xx1z1pCcnR2Lvv0jT60s4RU7vDyWTYvmnuIfJ1zWQOeaxQaV0UD44lcbUCggURUBKk+w0BddOAoYjJX3zjBe1FLyllHkT5tkzY9wB4T0G+ibjRBRF1SvZmR71d9QZLGjkGg7zntBz4PlJO9pMuywhLuJfUlHzJ0onTOXxGtx0p1YruibNvi9pmEiBxX5T/6aQ7k09Ix7iH4/kr+hT5PeZ8wDVOQTz93rdeqE/rXBLMvTAzGtmodUoT0lsMKen1Vx66zKj2lPmpEhIAxMfhHvJecprSIUheJX+Ye93HvZSYivFA06UppczrBbq1s2BWz33THpf0gwMKsBhSAhwxKTNa382AWmkt0ef+BHJT8VMeFT04najy5jhgLatNGhndxUQMI1Bq60zSG5K5ngoX5lXqAzoEjj3QJX1nJzLWqhagTttgyW2H9gCCWhQpAXpmEYyq2nTcQ/qXdoMub+D+KDVGS5iiWej1FKM0lFzY9rwWu3y0XmbK2pmP7tUhaSxBFL5ri0wu3enY56zlnGnmzLdT1vQJrI4akgy520HKxrUpQ04DLPVlkRK5ShMZR7cNuucp86Wn3ZtW9LPP126SQD8fDO1OXSqqT2JtE7wdtj+94WU0dilFl5bWt3SiJL1YNqDffGtdUz/05t2VRpziXtq4Xji53V7qp+Wa3NyrVEVY1NElp4wxjXjFsrDW4XgwgEY2uLi4OM7iyWNhKOOmsE+/wbFmz1bMh5WYRkI7uS8uLsEsJ/XTkyKlfWHu6eG1IZ82VkIaBykldt5RuGOJaVmk5PmNmNUqbuIJM1De7FtXAzOzUqSdIubdOUjK/Cx9jTg3qxbHmmM6Ps7LONFTYebIpwtL1CD7fDp79S1aT16IKbOuxyxfZglBahuYerxSdHf+ZCJrp3cHFkVKs08GF7j9fVZX7yo8QZ057P84dIVtcUOh8rSnNL45Gm683KEvjE+Kh+g4czm650gvdc20xqJ0M2FycY9VvgwJkLckINUuzCRWQSdfFCkZOG3JqxceTloU/ukf1f3lOT67R++3CvZ9P4cwg05BAzvlfErgzy3WTceRkoVYJCkBM2lNnpLUdXAamb/LqefZkW3EE0y4WCPKaUid+Y/ML76+pE5624EILNXhbvVuN9ktsMglAf7ahtT18nTKGuspLeVfIpZCSCsxHQ+GiNTjlW7RJQHGGThXM4v3eI0lq1Nq9ilSD/0UI2ziOM2Mc3gfRNGV1lII6dTbzBgQCBKqb6mjS6ZhkaTEEKgqoWfgxleq2VaRdb5pEJE9XE45IY1bKXKCs9PWZh39OXFtQnoEJ6v9jVNpE0hU6GOmLi0lPpMoRUyx6dxFWLkzjg5BSFMdyOZAszDyrU9KgKo32TRo6hoyc3QJQ5VR3+HXY5/79nNE9Ci557u9xvvtzUT0MBF9loj+eulNtfLd4yHpydE9IqbSljQLOSXSHJuuiqfjE8H8c3mF//z8/FeYXjpMLl6X/Kk1Xbn4JddLy6k0Xlc59N87hb4HO5pR9CoSeREoK2u1pEZKVuabzAQDiu597HPfAOCXmPkXgvyIvh3A6wB8B4D/GMDvEtG3sToysghGU9Fdy1kb0y2No8M/FiT8IR1+KuFNib0Pv1Cc9opbA2YvpZQNdnUNyR0PDijoxKOe+9aBBwC8Wz9A4E8BPAzgpSURTT+1hHSLzqjET3wFoI/65dbvx0aKmMZoKXFc//uK04dprpJZP2JpWnpTZt/eSOqx3W8nomfqa88B8GUvzCP6WguUeu4b+xpvu9EOmX1j3odq5Q4ESZ3WmHt+W0g0Ko0wDKK0YoLijmvhISX2t0Tc8B7i6w59/pspppP//XaF2iywnMFnLkgpUdd166hqAEFz66v6saT0VgAvBPBiqGe9vWVoAsz8EDPfz8z3A87cBpTsslGGqfV+FPgyWnkkTqicDtehmaX38skmRxw+ETCU8c2Jz5xMM59WLBeDe8N33GGCXEuQqwu/nvwHKk7RvBaJExd/LEzrkHWD+uISlWQIKKe2FLDbSgQDVUF6o2bfmPlx85mIfgXAb+mvjwJ4nhf0ufpaGaz/SKJuaoAY5qklajaJrK8pR7dhByqf/h+GVCc184TxexuhOG15XXw/DYrCmo7dJ5cLR5lim8VZr0ll6plEQ+XZR5pTMDaf1OSCnXSZWaZkK5lSPkQAM5qLLbbXb0IwgwhohCIl05QFFDE1+9CUiOhe7+sPAjAzc+8H8DoiukpEz4d67tu/GZJ2VyWUj/UrVqw4KFjNvDX6sd0p5ZoByPxYbTH2uW+vJKIX63y+CODHlVz8aSL6DQB/BPU4758cMvO2YsWK0wQDqOsajcwvnjQ+4cmnBAx57psO/w8A/IO+dHPoktfe1NjEV6xYsR8wK1Kqe7aZzLRO6XCwqp133sygBQ/c8VtP1gd8blzr9Evvr/+78dH4vpqWfyB13Ib3N9aWWw/xRHvd1NzlcMrP5DsqCkydpYCJUDeN0pTiJsnaJ6zvp2/eZDGk5K9TYuiGnHV5JToixb+x+Z/EUjtJiny6rsXXAW27k+V37z1s5QRAZNJJkV9q4Wdr2cYey7Uk7ckLTjOzhyVhc1p8On7b+Z/MO7FP5ZgzlTkZmYBaNnbvmz3GzPRr/SqZyF0MKQGGjHSnkhIMb4QdabOVdKSlYuqhY33zgfH8Xok8p1J2Y3Cozk5mlCgKfALtVW+xaWSDRpqlLeOxKFLqnkgfcat6qnLI6LcU5AhgKlFNxakS/Ip9Qg1vjZR68zvyHfnkfEowpKsX081gUJf4ZZaK0vOvD4WVkFakYJf/NhJSsm+1hWhbokksjpSMDZdz4A6ZfbPLDqn95NkSh/GKFSvK0UiJzKklg7BIUpJSYrfdehc1FYVvg5DcnZ8I478nRLPSdGGfvpdU2jlHeKwlDvJH9Zw/1RVn1aBCpMuybELjFGDO7qq3O0hW28OYtLPb76zapDOTWTkshpTImypkKXHz5rn5BaQd3sRkb2hMtXVVtkic39QOX95R5yCmvvh9v48lpBLcCvvVcgfKpbDvWcU5fIVjtucM3QIkZfuwJAJATNieX4BrPfvm7XnzO2vwMJAMFndGt7FHG7v3DSezVmPFitsRpovePL8JKZte31Gfibc4UgIAMJIPtVv3vq1YsUxIKXH9qadQ17X2CXcF7k5rmaQEfawmAzHnrkrTihXLg2TGk08+hd2u1udFjU9rMT4lAIHap85TMsdhKG+Ze3rtfjSmuX0vx15TlEK8EpwD931umaVDXPZz10N2VfTEvFJ3M2QWd38a+mnp/in/l4B6msmN85tqm0nG5VJ6p4shJXtgonZ4S8kQolKdmAmhUjd/RZatZco3z9I1RdlFka2wiWueXH0LK1OOdz9vI4vazkPKf8fhe+4erCyBQU12UPGJzl+8nLrH1j0kc02HLY1v1r6V5lWSz3S43FW9mYmDOMzMExSIBpURM35xWMEMAcJut0VNDAlA6H5sJ69Ib32S6L2lxZAS4M8cEpjN7IjwGr+m4IQjbY51Rn1rmcA8qYl0EVIrq8S1GF0NqWvaPlgqAEUiao4zfM+nDZgDyKS9JxM3DMeAzSd9j2UlOik+0SRmKamL7uxLInNrNnOuoTdOc8qi5OTuCAmQPiXAf2iAH5KpvBwX6lNy8Ec5Nn9PS+OdBwk7fSkLPpcix4ojQQ9y6jwlvU4pNys1BylR+rlvv07umW9fJKJP6Ov3EdG599s/KburMrgT7W7fThA/jODYhLA0eVYcB1JKbLdbNI1HSiMx6rlvzPw3zWcieguAb3jhP8/MLx4vUgjSqjfb1ZX6bm+7aTi2SuKUldr7xJJkWXE4EADZNNjt8k/HHYKSkyc/RET3JYVRLfC1AP7LyZKEudpFWEKox3dLZqgFDsZTRka+5PssUmTSKu12Q54C0hpaktecPyC1PcG/npU9mj3JbUfpmjlMbcwN4xkZTR7tW5sLJZuEu8pibD6lyOcRX59hlXDOyx84+qZlkc6W0cgGu90WbFZ8T8hnqk/p5QAeZ+bPedeeT0T/loj+FRG9fEhirv7UI4YAhhCkpCSjJbGbzfGIaKrp4DsZ8w1pHmd6y9wxh0gFr8Q1T07/Nfa+c4Rekl5/eaulHGznh8nNxHjXDoVlmZnUehG1rw0rn0x8TucVvyaBGU2zQ13vYB7ulesqdk9cB6bOvr0ewLu8748B+AvM/FUi+i4A/4yIvoOZn4wjEtGDAB503+P78AhHtql+H5rR0UyP1Mxv4lo8azKFkOZE22xTn6WU7RklNoOPXjwwYC3XEtd9jUVyFmuWe0mlQeGnOfdksn6ckj4K1w6gGXUnt4bJx2hSIqINgP8GwHc5+fgSwKX+/DEi+jyAbwPw0Tg+Mz8E4CGdVrZnhSObY2HG/KS0dCzxXlMyMTcgchuczSbO9AbnfvNrxYJBAEjg8nKL3Xan3Sx6yElVZcHSqyma0l8F8MfM/IiVj+jZAL7GzA0RvQDquW9fmJAHpH5SLE9cI3QrYkkkFfq1+r0CSrtKEVr5Pa0EtgQo/f3Gjeu4efNc1avQ29syBJRaGOyjZEnAuwD8PoC/RESPENGP6Z9eh9B0A4BXAPikXiLwfwH4CWb+Wl8eXUj5AMzjuGOf0u2AZfhEumVhZux2O1xeXmC73WZ9f8qdthQ/z4qxYAA3btzExeUl1CLQtDJUWrtjn/sGZv6RxLX3AHhPYd5R3PCLlBJN00AQK49+4D07zDk+7U7C3t9+7FvGkk6c2m5SEiY3q1Uy7e+ba0Iocw4Qnitjf07uITNt8dlAszh9e/JUPyTaUE57mLmYmOFmyDwMOVsqBhHjxs2ncPP8pi3/QBvylngzofeUgEVuM7HfvSXr/qYd31nXNYV9K+JYJotrbG76P96S4+qBodq4H6bAmdCDUzLXumZzGejzR7fSOhZK827qGk1dw3TSrtvr66qLIqUYzBzcXXoZRnq9zor9IyYqc81UySmRyJy4ve5bLQLY7Xao6xosvbOUKA6JIjNjsXvf/Bm3FcvGPpZnnDpuL2ICdvVOb8hFvstmyCrG8jUlD7dXNZ8GUqvJb1fE5tptUx56YkM2jVYmvN9GFMGiSClY20Dk3WB6OUC8XaJky0EOZU5jHbY41fI6idOkAdecvdTO1PfkJM1f+5sOabSeTLgu+OZc7veSbTCnC2qZrm6xaBhuH0jWXJzVHhZtMoCmkZAsIUj5sfMLD9Frny2GlOzZO/pzRULNjujtJnqBvD3tJ7U1YuqK35KOYpfRx2ESDa2YkBJTqEXXdGG17jHlWO3I2w/pzW+200g4u0uQ8j2Z711hl4NSWcKV64fU7Tm3/rhFSgDN7bVhRlPXdo0SZL7NCVZduqtNLoaUAvgLHTy2omjetMSXMXYxXmq2KT3qmcjF2ZTHL7yW7MBDOnVJPlG5d5koyyKUuTCcmIbHnYjCtjl3/TCA3W6HppHWdEtp9chci7FMUoIuOG2+tcwPb6nAXAso+0wOM6tkzMmSuCtW3PpQbX+73UJKCbukMLMUjQBwRUCT76uLIiXLrt6aFykl7HG4LEFaXYlJKYUhJkYufuaXtuwrMd12WOtcQdYSN8/P0dQNgLyWVIpFkZKBcpUo4vFJidi40IR1hAPzTUX3peO0pPyjswGj5amwwURERyNO+VpS/pWua378vcyKtdaMtRdEqgYZz5pSENp/j5J16fv3pE33tOO/3yWf6yTDSiUuYxEkQJlw6SvDci/1laaar2uLo7IuAOPy8hxPPfkUtrsmORnk1zMRwB1aErAgUjJPQFAnAKgrUtaQ5Jo0caOaJjFAopdEulZ6x6uR+8I4+IsEQ2IIw4dTo13O4VLyKcU+Cck5xlVFJVcrtyUKEnIkoR82YFyIROpBBGydiDpb/293XrkaS5aCyNgXBWC7V4LsrHH+QP42K3S1g5ZIBXWYjqptqGh2pHQQL2079W6H8+vXwVI/spvcDJwpexEwU3d6iyGlALqxSynBQp/5C3Pwmx4dOfFM84T2Mvf0tF2iQOFpi613hMRSYkqmwpQsc+gbSbsaYYq4s2WGsD2lpqCTAwF5pEJOuwmfoBL7DvXoZAYlL15LqCCvdhCiuGOm0eEIyF528zD6Xo5m0nX19n24MLxcWaLe7ZS7hR0ppcKerKObAJydnQHMau2DrnDJZr1SuhP2mTHZ/AbsnfNXmcdE1E5Pd7iEVpWTw/yenv0rH+G6zMFcvu377E63K//StFL3F2uJY2dQu2SY0l5K7qEjlp4wmVdb6cK+V9orB3fn6qRBWBYpGa1dEK5evapISJozuRmA9FZYtNdaxBUY7wJPhTcNqdxul7ZRpVbw2s2q7HweJY01FybXYfvixPJ039P0Tl+SVq7MUukO0eBK848xRLPuy6uc0BjqxITDaFRT1u4VaffQJ3pIac01Do/RH4zlkBI7nq2EwJUrV8EswSz0zTLArH0aTlvpTbZDO4hXhJemx8z2gQbdgdOaTh8xxGHj0XiozKl04+uxLKUaRy6fMfH8+Kl7npL3EO2tHG4F9xAfoK9td6a+J+Iaq3Hn0EipH62kLBkJTLIke0mJiJ4H9Xile6BK8iFm/mUiehaAXwdwH4AvAngtM3+dVEn+MoDXALgJ4EeY+eP9ogSZYnO2sc47e6ibZa7QhAKGkYp5HzfqtzWWPEg5oZRq1ZY1dKIk7yVnFgzVvLo0jyFmTInPq28gGBJmqMmYc/KXkMYwTclPGx45FUYvWFbSpSm2y4Syq7pbEwSJYOMd76x9SY1rx+im3L4iKtGUagB/j5k/TkR3A/gYEX0AwI8A+CAz/zwRvQnAmwD8NIBXQx2D+yIA3w3grfq9GxTeTCUIQlAwVxPcVWKEKjfB2r6LVLj2tXRxpivPd64qgdlTB8m7LXuXmQ41Bn1+mS7NbV8qf6nGkoubkyOnjc5Xnl2Hv5nyHZLecDOxj6QlpfdupPOZWQMTZI+tBvRMG4f2jCRPn+hBycmTj0E9pQTM/BQRfQbAcwA8AOCVOtg7APweFCk9AOCdrCT8MBE9g4ju1emUgQhnZ1dgOnJQhKxNuejuUg0+p2Gkrg05ea/IUWlIE25mxq8V//ltxHo7bE/DG+OIBfKENFTLLM2/1GQuRYmWkzN5UzIN0xCN3zErXdlN9OZTHi/pR+zQvFq/jMg7liG6CKrU2kGBiHy0b2lIjoN8SqQeSvmdAD4C4B6PaP4MyrwDFGF92Yv2iL7WS0pGcCEId955l1cBZvYNEHr9DxcsCUhpQDnnd+p6uhO4Q8zisPGIlnPi+tcEkZqji+KnOlGuU5aaJLFmGMvZhTH+q5wssUwxeeTI2Q/bVRY5Yu/TntJaHg806/qRK8vcQJSqv3ZktBSgbJ1N0IRT/USyxGZzNlsZFZMSET0N6vztn2LmJ6OGxNTxmKRMesFz33xmFULgrrvuVLZqI90yAG50wWvnN3Oro0V5FJsLXfZ7FDIbP9W5cmnZaxROU/iEEYfNyZTT8ob4ZPowJJ2ucF0+sjGNOia3Lq2wzwzKa0rDSXlu+ANIUlPqc+SEiSXTHyKL9w2CBK5euQrzFBsymtE+Z9+I6AyKkH6NmX9TX37cmGVEdC+AJ/T1RwE8z4v+XH0tAHc8902QwLU7rmkHmtTmjzvGRKmE6mgTQ0xCtKdZ+9T9LjAzKLHiN+tZyHS0XF4+KbG3FngoKU0xicb4NZJqYjtwq5y6YvmO4r7rPqGEM6CqV+YGoRwxpdKOcvSul5Rzzg/Z395KkNVuc0pRXCYTuTVlPl45O8Odd92FTSVCD3BCeytByewbAXgbgM8w8y96P70fwBsA/Lx+f593/Y1E9G4oB/c3ivxJnsKwOdvgytkVsKw1qxtdSer71E4141xj9RTdmEQkk/VImZ1TROQWNHphUzMXLNslKpAgh1hDiq9HvYvU0Gt/8j0CtsFZP5MJQ14S3ipn9u6FXDinQYRi6E+AbT7C5hV3IC87NQgkPJXJrRUS8McZk1PbZKNQNgZIEJj98gyJyfh3fD+PdbAS6QN7VKaqPXhlrcvT3gKrAc7eLcH69/w7hFAzv/4vyfOz2O3QY7+Ik0aEd4/2j7vHIIwpD3sD7t6DOkpkYY77MT+zFc6LRPoaw2sHFPRJJysjCoXN2QZPu+saNmfC3XMOtqHmA5VoSt8H4IcA/CGp57kBwM9AkdFvkHoO3JcAvFb/9ttQywEehloS8KMFeWiBVVVXQuD6N76O//Dnd6DST1oVIAhSM3JC6A251mmsTJjYjGESHinpcNp/Y8tbtwgpEr6mRLlVooKgypNZNaI4b/I7XHCL1G70xh0ekEnbjLD5JWaDTFz3iuQJSBE2jCmLkJTCOKS1ObaPSSKbTlrFie/RZuo6BymNOI5P7F2LTXNSkwKW1G1cBnmysZQAEQQq90gf0twQaKhuwCNtc7gdbTotYk2S0YDnT8CYJGUYithsnzHE6Noso9HlEaoTRKT9jEYrIciA4BlgPV+rycT1ghRRwpFTNDj5im/NbPuCjej4x5PPlSGzJmoC7rzzDmw2lTeIdmDqyZPM/K+R5mEA+P5EeAbwk33pJiEZogLOr1/Hh/6f38XT7346KrFRZKQ7ohACdFZpb78aHYkAIaoWMQhd6KT/CXIvcFg2IjGapTQiISqQqMLLIk0CycGrdZFcR/dISSSeMmu0DROejExEIG2+mjKqRGX5zm9IBEJVCWzONjjbnGGz2UAYjcIMjkIEhEEEVFDXfOITRBBVW04Bs8ghKg8rY0SKHqEKS0DuHlVccsTj1Tl0x6hEBVFVYCGUyU+EzWajtCWGzgtOBiGAStjBTIgKnqqg65S0DMLKAd0Om6ax34XW0CWrl0+iwtYttzq4qRu/7ahbbyxBSEKwCdq0AbaVa0hgg5iYWDr2MW0luMdEPZl25rSrqB7hEZK2UgQIV++4hqqqdL2ochhrKS5nRbeHGzdu4vd//yOoSNhRwRtLwBWBhftuGN8fDQDVDgS5whUE3bygVW2TArDJMUhwXWXECe2gVblxVD/NMJgjP4+Uco++tvnYfktWc7IaoCCIqlKBYr+M1jbPNhtsNhWqauO0EHPLVIUyQZHSxhKHDifaGqJCfM3X4Byxki7P9jW/HHwt2GmfRISzs42OwyA9WIgrV+zgcXZ2hkqTkBACoqpQVYqwz6oKZ5szVFWly2JjzT2feCshUBlyMcQG45PSlGVISQiwIVZoIiV27dNcryrg7A4QeaRYCZxtNqg2G/VeqcGiEo7Y/DoGhXKyJSW/2IUagP04ULPbrr51OZs1gSasEOp+Wn5VR0rQM+EVb8FglW6owLZiCgJky0QOsSxSEma0YVy/eQn9PEN1o54qaRdi+aC2FqKJ3E/eDljEYRWS/WMi+z+0Lyey74UZgQJzLvpAUdgcUhpX/Lt/7ya8Vd1FgkhbwsJpT55macvKagIhmp4zmBOc7l1PEH5EUkYKIQibDVBVBCkBKQnizGkMQgiPHNw1QYSNEDjTnVYRg9Z2bT7qXQCWdOwA6JcDSJ1LzQCECI4w0Vkq0iToPABRbUBndyiNVAhFPJUi0c3mDFfOzrA5O1PEKZz2SCTaBKXvESSi89bVwKY0WeeDFKQ0ZZ/c/TKuKl1uQoBFBenVB2nNWHizbAoSf/TpT+P69ZsAnH8wBVNUJ0NKvrASWhXWPwR8EY/+OkxsyzIhqCgZOB9d2iZsgBKWGRE8Wxm+TJlEo5lYF4xCHxQRrG/VcotPsgx98ouLkyRK/YPR+ikRuDUQoPepzGn4rhVTRxn4eQqhSKlpGNqVZA+mjwdsNvdAkS6XGoxy3zPRUreRlNtoV+YLPC3KIx8i4z91JGcGU6OpB/mIhB8v0Cz9oOQHcW+GOGG0OgHiMKwhdXMfpPvYzfMLfOPJ667uc3XYVUAaiyElAlJHJHkzLGHYIrRMl9bPw8ino4GmfkrwZm9+ATl4YbmjMuN0U/kE8kUNJtUPKZGe1fTabTqMP6BMW21XE3NXGnZsYUVKYiPQyEYNYv59GQK2NwGjROWJc+BgNBhaGCpdxpEgzNQAMrgtF2SXSzLQsI0GDnb9115Lp9V364shpV6MKPBslNwQtwcZ5oqeM3nGJ5j8WBYvq1YNS89O+AQX0dYYOyAboIY6sD6VuU2f0r/3Yk8kNcoJnJBlrDM5hzJFMTOidTCa+dhw/6B1OqS0YkUCUpqZoGNLsqIEkdcgiZWUVhRh7k5PBFy5UoGIsdtJNM34tFZCOiEoh9XpPGJpxWlgDlOSiHDlygYAo2l2aHqecLHi1oCa4BSQyI9Ctz4prW19L9hs1Dqh8/NdcL20uKVknF/sQGDUtYqVI7suTShe+pCb8EnGLZI0n//sfr7bAaLClat34eLyyXyQA4qz4oRRVWbqGnZB49WrZ8mOyQUvCaCuJep6mj/IrCBWSwPSeeVkW3F4MIBr1+7qDLOS0ooixAsxz84EqqrKRxgAQ3Rj4vkLZJNHZVH0mgBDgGPlXQFACNxx153dQQ4kyooTR2AiMXB+vsOTT944iJM5RQCtNVzA3tcYOS1xv/ncyhAEvPBFL+wOcyBZVpw4fI3EdM6+R1jtC0TAZgM87WlX8PSnX8XGbFzcM0GqrSwZjWxFPwi4cudVvOKVr+gMdus7ulfMCmbXKXOHs+0jTx/GhBJC4OysghA7SHkYL1FqP+GKcjz9Gc/Ed37XSzrDLIaUzLaB4MKKo8Gvi6rSZKQ9xOaMolKHsd0MnNiGYLQuu4UFbRKK0TAga6C+cQlBcLN3wh30JhuEe0nMvjcvbZmwE/xmZ4/gyMgzhQaXbqIMmgzwV27rrT4E4MqZwE7qQ6YEwNjge1/+Kvwn/9mJkFKRbyK3yW/F3iEqRSqyQVkdxNP03P7NOowJONuoDai7nURdR2nFW0fM9pSGwUJ9FgTcffdVfNM3fzOefPI6vvH1JwHth+emnUxuryKRIjdLwon8V5ShrqU9+YMYeOa3fit+4FWvxtPv6p59WwwprVgupAS80zvUG3UMJJkNVOaIKHO0xWYjcNfTrkFKxnZ7aXf6F4Nhj21nAJeXNb7+tW9gu911Hp/RkZxbrwBz9s+wNG5LmB3SEaTe+EyVAESFl73i5firL/te8OX1zuQWo0WuWwWWg9YRMAw0tdKSjJO5SpwpFkOdHeTCGQIxkJKxvdyp11Zitx1ISp6sRMBuy7j7aU9TSxUyHaUP5kilq9c2+KZn3IVrVzerolQCY9qbj0KREqDOyn/2f/QcvPZv/i3c+0134T/8f/++Myk69qNjAICIvgLgBoA/P7YsE/AtOG35gdO/h1OXHzj9eyiV/y8y87NTPyyClACAiD7KzPcfW46xOHX5gdO/h1OXHzj9e5hD/sWYbytWrFgBrKS0YsWKhWFJpPTQsQWYiFOXHzj9ezh1+YHTv4fJ8i/Gp7RixYoVwLI0pRUrVqw4PikR0auI6LNE9DARvenY8pSCiL5IRH9IRJ8goo/qa88iog8Q0ef0+zOPLacPIno7ET1BRJ/yriVlJoV/rOvlk0TUvTfgAMjI/3NE9Kiuh08Q0Wu8396s5f8sEf3140jtQETPI6L/l4j+iIg+TUR/V18/pTrI3cN89WAev3uMF9RGgM8DeAGAKwD+HYBvP6ZMA2T/IoBvia79IwBv0p/fBOAfHlvOSL5XAHgJgE/1yQzgNQD+BdQSxO8B8JGFyv9zAP67RNhv1+3pKoDn63ZWHVn+ewG8RH++G8CfaDlPqQ5y9zBbPRxbU3opgIeZ+QvMvAXwbgAPHFmmKXgAwDv053cA+BvHE6UNZv4QgK9Fl3MyPwDgnazwYQDPIKJ7DyJoBhn5c3gAwLuZ+ZKZ/xTAw1Dt7Whg5seY+eP681MAPgPgOTitOsjdQw6D6+HYpPQcAF/2vj+C7htcEhjA7xDRx4joQX3tHmZ+TH/+MwD3HEe0QcjJfEp180Zt3rzdM5kXLT8R3QfgOwF8BCdaB9E9ADPVw7FJ6ZTxMmZ+CYBXA/hJIgpOrmKlu57U1OYpygzgrQBeCODFAB4D8JajSlMAInoagPcA+ClmDk7QP5U6SNzDbPVwbFJ6FMDzvO/P1dcWD2Z+VL8/AeC9UCrp40a91u9PHE/CYuRkPom6YebHmblhZgngV+BMg0XKT0RnUJ3515j5N/Xlk6qD1D3MWQ/HJqU/APAiIno+EV0B8DoA7z+yTL0goruI6G7zGcAPAPgUlOxv0MHeAOB9x5FwEHIyvx/AD+sZoO8B8A3PxFgMIh/LD0LVA6Dkfx0RXSWi5wN4EYB/c2j5fBARAXgbgM8w8y96P51MHeTuYdZ6WIA3/zVQHvzPA/jZY8tTKPMLoGYU/h2ATxu5AXwzgA8C+ByA3wXwrGPLGsn9LijVegdl2/9YTmaoGZ//VdfLHwK4f6Hy/1Mt3yd1B7jXC/+zWv7PAnj1AuR/GZRp9kkAn9Cv15xYHeTuYbZ6WFd0r1ixYlE4tvm2YsWKFQFWUlqxYsWisJLSihUrFoWVlFasWLEorKS0YsWKRWElpRUrViwKKymtWLFiUVhJacWKFYvC/w/wrylblAp0vAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "img1 = resizeCrop(img1)\n",
    "img1 = resize(img1)\n",
    "\n",
    "plt.imshow(img1)\n",
    "\n",
    "img1.save(r'./testPics/2.jpeg' )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "26934578",
   "metadata": {},
   "outputs": [],
   "source": [
    "# train\n",
    "for i in file_list:\n",
    "    keyName=0;\n",
    "#     print(i)\n",
    "    subfolder = os.listdir('./imgsEnhance_5.0/train5.0/%s'%i)\n",
    "#     print(subfolder)\n",
    "    for j in subfolder:\n",
    "        for num in range(1,50):\n",
    "            if not os.path.exists('./pics5.0/train/%s' % i):\n",
    "                os.mkdir('./pics5.0/train/%s' % i)\n",
    "            keyName = keyName +1 \n",
    "            img1 = Image.open('./imgsEnhance_5.0/train5.0/'+i+'/'+j)\n",
    "            img2 = randomRotation(img1)  # 随机旋转，-75到75度之间随机选\n",
    "            img3 = randomHorizontalFlip(img2)  # 随机水平翻转 概率为0.5\n",
    "            img4 = randomVerticalFlip(img3)  # 随机垂直翻转\n",
    "            img5 = colorJitter(img4)  # 颜色\n",
    "            img6 = randomGrayscale(img5)  # 灰度\n",
    "\n",
    "            img6.save(r'./pics5.0/train/%s/%s.jpeg' % (i, keyName))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "3b46f12d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# valid\n",
    "for i in file_list:\n",
    "    keyName=0;\n",
    "#     print(i)\n",
    "    subfolder = os.listdir('./imgsEnhance_5.0/train5.0/%s'%i)\n",
    "#     print(subfolder)\n",
    "    for j in subfolder:\n",
    "        for num in range(1,30):\n",
    "            if not os.path.exists('./pics5.0/valid/%s' % i):\n",
    "                os.mkdir('./pics5.0/valid/%s' % i)\n",
    "            keyName = keyName +1 \n",
    "            img1 = Image.open('./imgsEnhance_5.0/train5.0/'+i+'/'+j)\n",
    "            img2 = randomRotation(img1)  # 随机旋转，-75到75度之间随机选\n",
    "            img3 = randomHorizontalFlip(img2)  # 随机水平翻转 概率为0.5\n",
    "            img4 = randomVerticalFlip(img3)  # 随机垂直翻转\n",
    "            img5 = colorJitter(img4)  # 颜色\n",
    "            img6 = randomGrayscale(img5)  # 灰度\n",
    "\n",
    "            img6.save(r'./pics5.0/valid/%s/%s.jpeg' % (i, keyName))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "595bb7d0",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
